Установка с компакт-диска
Примечание: в этом документе описан процесс установки Inferno используя официальный установочный CD, который содержит выпуск Inferno от 10 Мая 2007 года. Если вы хотите установить свежую весрию Inferno, следуйте инструкциям, описанным в документе Установка WARNING!! WARNING!! Вы пытаетесь это сделать на свой страх и риск.Вы были предупреждены о том, что этот способ тестировался в нескольких случаях. Изменив таблицу разделов, вы можете потерять все свои данные. Хорошо, вы были предупреждены. Эта статья расскажет вам как установить Inferno на голом железе. Таким образом она будет запускаться самостоятельно, со своей собственной файловой системой. Я настоятельно рекомендую вам сначала дочитать статью до конца прежде чем начинать инсталляцию.Потом вы решите, стоит ли вам рисковать. Этот CD-диск и процедура установки были протестированы на Compaq Presario 1279. В последнем случае, я проводил установку на вторую первичную партицию (second primary partition), оставив раздел Windows без изменений. Если вы воспользуетесь qemu, посмотрите зметки посвященные qemu внизу этой страницы. Итак, вот последовательные действия и предостережения: : 1. Загрузите CD отсюда inf.iso.gz. Он содержит только Inferno-часть от релиза 10 Мая 2007. Он включает только исходники ОС, исходники утилит, и бинарники для различных хост-ОС. : 2. CD-образ сжат при помощи gzip. Размер компрессированного диска около 20MB, а сам iso-файл имеет размер около 45MB. Запишите образ на CD-диск. : 3. Этот CD загрузочный, и должен работать на большинстве ПК. Он предполагает, что CD является мастером на втором IDE-контроллере. Это наиболее часто встречающаяся конфигурация, но если ваша машина не попадает в эту категорию вам потребуется указать другое место расположения образа ядра. : 4. После загрузки и инициализации Inferno вы увидите приглашение системы (;). Для начала инсталляции наберите команду: sh install.sh -m src dest : WARNING: НЕ используйте опцию ''-m'' когда проводите установку на диск с существующей таблицей разделов. Сделав это, вы сотрете таблицу разделов, и потеряете все разделы которые хранились на диске. : Параметры src и dest каталогами устройств инсталляционного CD-диска и целевого жесткого диска, соответственно. Таким образом, обычно, когда привод CD является вторым масторм и вы хотите провети установку на первичный мастер-диск, команда будет выглядеть так: sh install.sh /dev/sdD0 /dev/sdC0 : Если будет задана опция -m, загрузочная запись (MBR) будет установлена на целевом диске. Это чаще используется в случае установки в эмуляторе, таком как qemu дик на который происходит установка не использовался ранее. : Этот установочный скрипт работает следующим образом: : 1. Первым шагом инсталляции будет изменение таблицы разделов. Поскольку ошибка в этой работе потенциально может привести к потере информации, вы можете произвести разбиение диска любым другим инструментом который вам знаком. Инсталляционный скрипт запускает Inferno-версию fdisk и выдает вам командную строку. Если у вас нет еще ни одного первичного раздела, создайте один с типом Plan9. Вторичный или расширенный раздел тоже могут работать, но я этого не проверял. Это модет быть раздел только такого типа. Если у вас уже есть Plan 9, тогда вы можете запустить установку вручную, для того чтобы убедиться что вы не отформатируете существующий раздел Plan 9. : 2. Как только вы покинете fdisk, все остальное будет проделано автоматически. Я вас предупреждаю, что установка весьма прямолинейна и не пытается отлавливать и интеллектуально обрабатывать ошибки. Вы увидите вывод сообщающий о создании дисковых подразделов, монтировании CD-диска и записи каталогов. Следующее предпреждение, установка идет очень медленно. Она заняла около 40 на Compaq. (Я подозреваю, что основной причиной является то, что текущая версия kfs не поддерживает буферизованной записи) : 3. По окончании этого процесса, вам будет предложено удалить CD-диск и перезагрузиться. После удаления диска, простейшим способом перезагрузки будет нажать ^t^tr (дважды control-t и затем r). : 5. The boot process, once installed, runs a script that mounts the kfs file system and then calls another script in the root of the kfs file system that binds a bunch of the directories on the kfs file system to the root file system. It then starts up a shell. Once there, you'll have all the usual Inferno commands at your disposal. : 6. When it comes time to shut down, issue the command shutdown -r or shutdown -h where the -r reboots and -h attempts to halt the system. You should get a message saying the file system is stopped, at which time it's safe to power down or reboot. (I've added a halt command to kfs so that we don't have to make sure all binds are unmounted in all name spaces. If we don't make sure of that, then the file system won't be left clean.) It is possible that the CPU won't actually halt with the -h option. In that case, you should get the message "File system stopped" followed by "shutdown failed:" At this point, it is safe to shut off power or reset. : 7. No attempt is made to configure networking. You can add this to the file /n/kfs/kinit.sh. If you want to start networking with dhcp, uncomment the following lines (from dhcp(8)) in /n/kfs/kinit.sh: x=`{cat /net/ipifc/clone} echo bind ether /net/ether0 > /net/ipifc/$x/ctl && ip/dhcp /net/ipifc/$x : 8. Likewise, no attempt is made to deal with graphics. The current code is pretty far from being able to run wm/wm on a native PC. Hopefully, at some point the Plan 9 VESA driver will be ported and the appropriate code for detecting and initializing the VGA controller will be updated. I leave that as an exercise for the reader, however... Замечания при использовании Qemu * When installing to a newly created qemu disk file, use the -m option to install.sh. If you're installing to a disk image that's already been used, then you can omit the -m and you'll start with the same partitioning that was there before. If you're using qemu on a physical disk, you almost certainly do not want to use the -m option as the disk probably already has a partition table you don't want to blow away. * On installation, you'll want to set the -cdrom option to point to the ISO image, inf.iso. However, once the install is done, you don't want to boot with the CD in place. Otherwise, 9load will find the plan9.ini on the CD rather than on the disk image. Set -cdrom to /dev/null instead. * If you want to mount a CD later, go into the qemu monitor and issue the change cdrom command. * You'll need to specify a floppy even though you probably don't have an image to use. Setting -fda to /dev/null works. * For reasons I haven't bothered to track down, the default ne2k_pci network card causes Inferno some serious heartburn. I gave the rtl8139 a try and it works well. * With all that, a good command to use to run qemu once the system is installed is: qemu -fda /dev/null -cdrom /dev/null -net nic,model=rtl8139 -net user inferno.img Заключение И еще раз, вы делаете это все на свой собственный риск. Не говорите что вас не предупреждали. Существуют неточности и шероховатости которые я планирую исправить для улучшения установки и использования. Так же, я не заявляю, что произвожу установку самым лучшим и ясным путем. Но она выглядит вполне рабочей. Так что, единственное что осталось сказать "Развлекайтесь!"